#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 作者：LastPage（一叶知秋）
# 代码开始时间：2025/10/10
import requests

URL = "https://spark-api-open.xf-yun.com/v1/chat/completions"
AUTH = "Bearer 这里输入的是你的apipassword"  # 确保token有效


def ask_lite(prompt: str, model: str = "lite", temperature: float = 0.7):
	"""调用讯飞星火API判断岗位是否匹配"""
	try:
		payload = {
			"model": model,
			"messages": [{"role": "user", "content": prompt}],
			"temperature": temperature,
			"stream": False
		}
		resp = requests.post(
			URL,
			json=payload,
			headers={
				"Authorization": AUTH,
				"Content-Type": "application/json"
			},
			timeout=30
		)
		resp.raise_for_status()  # 抛出HTTP错误
		return resp.json()["choices"][0]["message"]["content"].strip().lower()  # 统一小写
	except Exception as e:
		print(f"AI调用失败：{e}")
		return "error"


def check_job_match(card_title: str, target_jobs: list) -> bool:
	"""
	检查卡片标题是否匹配目标岗位列表中的任意岗位
	:param card_title: 代码1获取的卡片标题
	:param target_jobs: 用户输入的目标岗位列表（如["物流", "供应链"]）
	:return: 是否匹配（True/False）
	"""
	for job in target_jobs:
		# 构造AI prompt，明确判断逻辑
		prompt = f'“{card_title}”这个岗位属于“{job}”相关的专业岗位吗？只用回答true或false'
		ans = ask_lite(prompt)
		print(f"判断：{card_title} 是否属于 {job} → {ans}")

		if ans == "true":
			return True  # 匹配到任意目标岗位即返回True
	return False  # 均不匹配